//
//  NSDate+sina.swift
//  sinaWeibo
//
//  Created by hjun on 16/3/30.
//  Copyright © 2016年 hjun. All rights reserved.
//

import Foundation

extension NSDate {
    ///新浪的时间字符串转换成系统的NSdate
    class func dateWithSinaString(dateString:String) ->NSDate {
        
        let formatter = NSDateFormatter()
        ///设置要转成的字符串格式
        formatter.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"
        ///指定local 在真机上必不可少
        formatter.locale = NSLocale(localeIdentifier: "EN")
        ///转成NSdate
        let date = formatter.dateFromString(dateString) ?? NSDate()
        
        return date
    }
    
    ///用新浪返回的时间和系统的时间比较
    func sinaDescripiton() ->String{
        ///时间比较 取到当前时间
        let calendar = NSCalendar.currentCalendar()
        
        ///是否是当天
        if calendar.isDateInToday(self){
            
        let timeInterval = Int(NSDate().timeIntervalSinceDate(self))
          
            if timeInterval < 60{
                ///刚刚 一分钟内
                return "刚刚"
            }else if timeInterval < 60 * 60{
                ///一小时内 X分钟前
                return "\(timeInterval / 60)分钟前"
            }else  {
                ///当天 X小时前
                
                return "\(timeInterval / 60 / 60)小时前"
            }
            
        }
            ///需要日期格式化
            var formmater = ""
        
        
           ///是否是昨天
        
        if calendar.isDateInYesterday(self){
            
            formmater = "昨天 HH:mm"
        }else if calendar.compareDate(self, toDate: NSDate(), toUnitGranularity: NSCalendarUnit.Year) == NSComparisonResult.OrderedSame{
            ///判断一年内和更早前
            
            formmater = "MM:dd HH:mm"
            
        }else{
            
            formmater = "yyyy-MM-dd HH:mm"
        }
        
        let date = NSDateFormatter()
        date.locale = NSLocale(localeIdentifier: "EN")
        date.dateFormat = formmater
         return date.stringFromDate(self)
        
    }
}